﻿namespace Leetcode.N0012;

public class Solution
{
    public string IntToRoman(int num)
    {
        var items = new string[]
        {
            "I",
            "II",
            "III",
            "IV",
            "V",
            "VI",
            "VII",
            "VIII",
            "IX",
            "X",
            "XX",
            "XXX",
            "XL",
            "L",
            "LX",
            "LXX",
            "LXXX",
            "XC",
            "C",
            "CC",
            "CCC",
            "CD",
            "D",
            "DC",
            "DCC",
            "DCCC",
            "CM",
            "M",
            "MM",
            "MMM",
        };
        var s = new Stack<string>();
        var deep = 0;
        while (num > 0)
        {
            var k = num % 10;
            num = num / 10;
            if (k > 0)
            {
                s.Push(items[k - 1 + deep * 9]);
            }
            deep++;
        }
        return string.Join("", s.ToArray());
    }
}